#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
//
//class Solution {
//public:
//    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
//        sort(nums1.begin(), nums1.end());
//        sort(nums2.begin(), nums2.end());
//        vector<int> v;
//        v.resize(min(nums1.size(), nums2.size()));
//        vector<int>::iterator end = set_intersection(nums1.begin(), nums1.end(), nums2.begin(), nums2.end(), v.begin());
//        vector<int>(v.begin(), end).swap(v);
//        return v;
//    }
//};


class Solution {
public:
    vector<int> intersection(vector<int>& nums1, vector<int>& nums2) {
        vector<int> v;
        if (nums1.size() < nums2.size()) {
            for (int i = 0; i < nums1.size(); i++) {
                vector<int>::iterator index = find(nums2.begin(), nums2.end(), nums1[i]);
                if (index != nums2.end()&& find(v.begin(),v.end(),nums1[i])==v.end()) {
                    v.push_back(nums1[i]);
                }
            }
        }
        else {
            for (int i = 0; i < nums2.size(); i++) {
                vector<int>::iterator index = find(nums1.begin(), nums1.end(), nums2[i]);
                if (index != nums1.end() && find(v.begin(), v.end(), nums2[i]) == v.end()) {
                    v.push_back(nums2[i]);
                }
            }
        }
        return v;
    }
};

//int main() {
//    vector<int> nums1 = { 1,2,2,1 };
//    vector<int> nums2 = { 2,2 };
//    Solution S;
//    vector<int> T = S.intersection(nums1, nums2);
//    for (int i = 0; i < T.size(); i++) {
//        cout << T[i] << " ";
//    }
//    cout << endl;
//}


